Monitoring of home dialysis machines using a network connected system

ABSTRACT

This disclosure relates to remote control of dialysis machines. In certain aspects, a method includes receiving a request for a network connection from a dialysis machine and establishing the network connection with the dialysis machine. The method also includes receiving, from a client device, a request to access the dialysis machine, authorizing the client device to access the dialysis machine, receiving, from the dialysis machine, information pertaining to an operation of the dialysis machine, and providing, to the client device, the received information.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation and claims priority under 35 U.S.C. §120 to U.S. application Ser. No. 15/910,276, filed Mar. 2, 2018, whichclaims priority to U.S. application Ser. No. 15/446,084, filed Mar. 1,2017, now U.S. Pat. No. 9,948,720 issued Apr. 17, 2018, which claimspriority to U.S. application Ser. No. 14/865,173, filed Sep. 25, 2015,now U.S. Pat. No. 9,635,111 issued Apr. 25, 2017, which claims priorityto U.S. application Ser. No. 14/288,442, filed May 28, 2014, now U.S.Pat. No. 9,178,891 issued Nov. 3, 2015, which claims priority to U.S.application Ser. No. 13/298,740, filed Nov. 17, 2011, now U.S. Pat. No.8,769,625 issued Jul. 1, 2014. The content of each of these applicationsare hereby incorporated by reference in their entirety.

TECHNICAL BACKGROUND

This invention relates to remote control of dialysis machines.

BACKGROUND

Renal dysfunction or failure and, in particular, end-stage renaldisease, causes the body to lose the ability to remove water andminerals and excrete harmful metabolites, maintain acid-base balance andcontrol electrolyte and mineral concentrations within physiologicalranges. Toxic uremic waste metabolites, including urea, creatinine, anduric acid, accumulate in the body's tissues which can result in aperson's death if the filtration function of the kidney is not replaced.

Dialysis is commonly used to replace kidney function by removing thesewaste toxins and excess water. In one type of dialysistreatment—hemodialysis—toxins are filtered from a patient's bloodexternally in a hemodialysis machine. Blood passes from the patientthrough a dialyzer separated by a semi-permeable membrane from a largevolume of externally-supplied dialysis solution. The waste and toxinsdialyze out of the blood through the semi-permeable membrane into thedialysis solution, which is then typically discarded. The dialysissolutions or dialysates used during hemodialysis typically containsodium chloride and other electrolytes, such as calcium chloride orpotassium chloride, a buffer substance, such as bicarbonate or acetate,and acid to establish a physiological pH, plus optionally, glucose oranother osmotic agent.

SUMMARY

In one aspect of the invention, a method includes receiving a requestfor a network connection from a dialysis machine, and establishing thenetwork connection with the dialysis machine. The method also includesreceiving, from a client device, a request to access the dialysismachine and authorizing the client device to access the dialysismachine. The method also includes receiving, from the dialysis machine,information pertaining to an operation of the dialysis machine andproviding, to the client device, the received information.

In another aspect of the invention, a method includes a dialysis machinesending a request, to a server, to establish a network connection withthe server and receiving an access request from the server, the accessrequest requesting access to the dialysis machine by the server. Themethod also includes providing a response to the access request andproviding data to the server comprising information pertaining to anoperation of the dialysis machine.

In another aspect of the invention, a system includes a server, adialysis machine configured to connect to the server through a network,and a client device configured to connect to the server through thenetwork. The server is configured to maintain an access control list todetermine whether the client device is authorized to connect to thedialysis machine. The server is also configured to provide a connectionfor transfer of data between the dialysis machine and the client device.

Implementations can include one or more of the following features.

In certain implementations, the method also includes receiving, from theclient device, instructions for the dialysis machine and providing, tothe dialysis machine, the received instructions.

In some implementations, the method also includes receiving a connectionfrom a second dialysis machine and receiving, from a second clientdevice, a request to access the second dialysis machine. The method alsoincludes authorizing the second client device to access the seconddialysis machine, receiving, from the second dialysis machine,information pertaining to an operation of the second dialysis machine,and providing, to the second client device, the information receivedfrom the second dialysis machine.

In certain implementations, the method also includes assigning a proxyport for communication with each dialysis machine.

In certain implementations, the client device and the second clientdevice are the same device.

In certain implementations, authorizing the client device comprisesusing an access control list stored on the data processor.

In some implementations, the access control list is configured to allowupdating of a set of client devices that are authorized to access thedialysis machine by updating, at the data processor, the access controllist stored on the data processor.

In certain implementations, the data processor is at a remote locationfrom the dialysis machine.

In certain implementations, the data processor is at a clinic.

In some implementations, the dialysis machine is at a home of a patient.

In certain implementations, the client device and the data processor arethe same device.

In certain implementations, the method further includes receivinginstructions from the server and executing the received instructions.

In some implementations, the server is further configured for receivinga request for a network connection from the dialysis machine andestablishing the network connection with the dialysis machine. Theserver is further configured for receiving, from the client device, arequest to access the dialysis machine and authorizing the client deviceto access the dialysis machine. The server is also configured forreceiving, from the dialysis machine, information pertaining to anoperation of the dialysis machine and providing, to the client device,the received information.

In certain implementations, the server is further configured forreceiving, from the client device, instructions for the dialysis machineand providing, to the dialysis machine, the received instructions.

In certain implementations, the system further includes a seconddialysis machine; and a second server. The server is also configured forreceiving a connection from the second dialysis machine and receiving,from the second client device, a request to access the second dialysismachine. The server is also configured for authorizing the second clientdevice to access the second dialysis machine and receiving, from thesecond dialysis machine, information pertaining to an operation of thesecond dialysis machine. The server is also configured for providing, tothe second client device, the information received from the seconddialysis machine.

In some implementations, the server is further configured for assigninga proxy port for communication with each dialysis machine.

Implementations can include one or more of the following advantages.

In some implementations, the methods described provide remote control ofdialysis machines. By controlling a dialysis machine remotely, a patientusing the dialysis machine need not be in the same location as anoperator of the machine. Thus, a patient can receive dialysis throughthe machine at a more convenient location, such as the patient's home.Additionally, multiple machines can be in different locations while theremote controller can be in one location. As such, the operator can moreeasily monitor and control more than one machine at a time. Furthermore,as a remote server is used to control access to the dialysis machines,the users at the dialysis machines need not know how to update accesscontrols or configuration settings. The controls and configurations atthe dialysis machine can be simplified, allowing less technologicallysophisticated users to use the dialysis machines at remote locations,such as their homes. Additionally, updates or changes can be made moreefficiently as only the server needs to be updated, rather than multipledialysis machines located in different places.

DESCRIPTION OF FIGURES

FIG. 1 is a schematic diagram of a system including a hemodialysissystem that can be controlled remotely.

FIG. 2 is a schematic illustration of the hemodialysis machine of FIG.1.

FIG. 3 illustrates a screen shot of the user interface of thehemodialysis system of FIG. 1.

FIG. 4 is a flow chart depicting a method of remotely controlling thehemodialysis machine of FIG. 1.

DETAILED DESCRIPTION

In general, the invention relates to systems and methods for remotelycontrolling dialysis machines. In some aspects of the invention, ahemodialysis machine includes a controller that controls thehemodialysis machine, to carry out a hemodialysis treatment. Thecontroller receives signals from the hemodialysis machine that indicatestates of the machine, and provides instructions that control themachine. The controller connects to a proxy server through a network.The proxy server provides a virtual control, reflecting the controllerof the hemodialysis machine to a server through the network. A clientdevice can connect to the server through the network to receive theinformation from the proxy server so that a user can see the virtualcontrol from the client device. Thus, the user can control thehemodialysis machine remotely, monitoring the operation of thehemodialysis machine and also providing instructions to the hemodialysismachine through the proxy server via the network and server. Thehemodialysis machine can also include video and audio transmissioncapabilities, through which a patient can communicate with the usercontrolling the hemodialysis machine at the client device throughstreaming video and audio. For example, both the hemodialysis machineand the client device can have video cameras, which can allow thepatient to see the user on a screen of the hemodialysis machine, and theuser to see the patient on a screen of the client device. Thehemodialysis machine can include multiple cameras to send videoinformation showing various connections between the patient and thehemodialysis machine and between components on the hemodialysis machine.The hemodialysis machine can also include an internet protocol (IP)phone through which the hemodialysis machine can transmit voice data tothe client device.

Referring to FIG. 1, a remote control hemodialysis system environment100 includes a dialysis machine 102 that is configured to connect to aserver 104 through a network 110. The server 104 generates a proxy forthe dialysis machine 102 and a virtual controller for the dialysismachine 102. A client device 108 connects to the server 104 through thenetwork 110. The dialysis machine 102 communicates with the proxy on theserver 104 to provide information about operations on the dialysismachine 102. The server 104 provides the information from the proxy tothe client device 108. A remote user at the client device 108 thusreceives information from the dialysis machine 102, and monitors theoperation of the dialysis machine 102. The remote user also providesinstructions through the client device 108 to the dialysis machine 102.The instructions input by the remote user are sent to the server 104through the network 110. The server relays the instructions through theproxy to the dialysis machine 102 for execution.

Referring to FIG. 2, a dialysis system 200 includes the dialysis machine102 and a disposable blood line set 103 that is operatively connected tothe face of the dialysis machine 102. The dialysis machine 102 includesa control panel 202, which has a display 204 for providing a userinterface to monitor operation of the dialysis machine 102. The machine102 also includes a keypad 206 for the user to input instructions forthe dialysis machine 102. During treatment the disposable blood line set103, which includes a dialyzer, is connected to the machine 102 and to apatient to permit the patient's blood to circulate through the fluidline set and dialyzer. The dialysis machine 102 includes various sensors(e.g., pressure sensors, air sensors, temperature sensors, etc.) thatcooperate with the disposable fluid line set to monitor treatmentparameters. Current treatment data, such as treatment time remaining,arterial venous, and transmembrane pressures, ultrafiltration (UF) data,and dialysate data is shown on the display 204. The display 204 alsoshows status of the treatment and any alarm or alert messages asnecessary.

FIG. 3 is a screen shot of the display 204 of the dialysis machine 102.The display 204 shows a status box 206, indicating a status of anoperation. In the example display shown, the dialysis operation has beenpaused. The display 204 also shows treatment data using various bloodpressure gauges 208, an UF module 210, and a dialysate module 212. Thedisplay 204 also shows a menu button row 214 that provides variousoptions to the user. For example, the user can select one of the menuoptions from the menu button row 214 to receive different types ofinformation through the display 204. The user enters input through thekeypad 206 to provide instructions to the dialysis machine.

The display 204 updates to show current data during the operation of thedialysis machine 102. The display 204 also shows different screens atvarious stages of the machine's use, such as a startup screen, testingscreens, shutdown screens, and other user interfaces.

On establishing a connection between the client device 108 and thedialysis machine 102, the client device 108 is provided data to displaythe same information as shown on the display 204 of the dialysis machine102. Thus, for example, a remote user at the client device 108 would seethe same screen shot as shown in FIG. 3 at such a stage in a dialysistreatment.

FIG. 4 depicts an example process for remote control of the dialysismachine 102 (400). On startup, the dialysis machine 102 connects to theserver 104 (402). The dialysis machine 102 requests an IP address of theserver 104 so that the dialysis machine 102 can establish a connectionwith the server 104 via the network. On establishing a connection withthe dialysis machine 102, the server 104 creates a proxy (404) for thedialysis machine 102. The server 104 uses different ports as proxies foreach dialysis machine 102. Thus, the server 104 maintains a list of eachdialysis machine 102 connected to the server 104 and the proxy port usedto communicate with each dialysis machine 102. The server 104 providesthe port number to the dialysis machine 102 so that the dialysis machine102 communicates to the appropriate proxy on the server 104.

The server 104 then requests authorization from the dialysis machine 102(406). A user at the dialysis machine 102 decides whether or not toallow access to the proxy. The user can allow different levels of accessto the proxy, such as no access, authority to monitor the dialysismachine 102 only, or authority to control the dialysis machine 102. Inthis example process, the user grants full access (408) to the proxy.

The server 104 then creates a virtual control (410). The virtual controlprovides an interface for the dialysis machine 102, such as the userinterface provided by the control panel 202 of the dialysis machine 102.The virtual control shows the same information as shown on the display204 of the dialysis machine 102. Input is provided to the virtualcontrol in a similar manner as provided to the control panel 202.

After the server 104 creates a virtual control, the client device 108requests connection to the dialysis machine 102 (412). The client device108 provides this request to the server 104. The server 104 checks theauthorization of the client device 108 (414). The server 104 maintains alist of all the proxies and dialysis machines 102 that are connected tothe server 104. The server 104 also maintains an access control list toauthorize access to client devices 108 to dialysis machines 102. Forexample, the server 104 can require a login/password combination foreach client device 108. The login/password combination is different foreach dialysis machine 102 connected to the server 104.

Upon authorization, the server 104 provides access (416) to the clientdevice 108. The server 104 provides the virtual control to the clientdevice 108. The client device 108 receives the virtual control (418) anddisplays the virtual control to a remote user at the client device 108.The remote user is thus able to see the same controls as the user at thedialysis machine 102.

The dialysis machine 102 then starts an operation (420). In thisexample, the operation is a dialysis treatment started by the user atthe dialysis machine 102. Alternatively, the operation can also bestarted by a remote user at the client device 108. As the treatmentprogresses, the display 204 shows treatment data on the dialysis machine102. The dialysis machine 102 also transmits the treatment data (422) tothe server 104. The server 104 receives the treatment data and transmitsthe data (424) to the client device 108. The client device receives thetreatment data and displays the data via the virtual control. Thus, theremote user can monitor the operation (426) of the dialysis machine 102at the client device 108.

The remote user also provides instructions (428) at the client device108 to the dialysis machine 102. For example, the remote user can pausethe dialysis treatment or request other information through the menubuttons shown on the virtual control. The client device 108 transmitsthe instructions to the server 104. The server 104 receives theinstructions and transmits the instructions (430) to the dialysismachine 102. The dialysis machine 102 receives the instructions andexecutes the instructions (432). In this manner, the remote usercontrols the dialysis machine 102 from a location remote to the dialysismachine 102.

While the process shown in FIG. 4 and the example environment of FIG. 1depicts one dialysis machine 102 and one client device 108, the systemcan include multiple dialysis machines and multiple client devicesconnected to the server 104. The server 104 can maintain a list of allthe dialysis machines, as well as all the client devices. The server 104can include an access control list that determines which client devicescan access which dialysis machines. In some implementations, a singleclient device can monitor and/or control multiple dialysis machines.Conversely, in some implementations, multiple client devices can monitorand/or control a single dialysis machine. The client machines can have ahierarchy of control, which can determine what instructions provided tothe dialysis machine receive priority over other instructions from otherclient machines. The server 104 can receive a request for authorizationfor each of the client machines that request access to the dialysismachine 102. In some implementations, the dialysis machine 102 canreceive a request for authorization for each of the client machines thatrequest access to the dialysis machine 102. The local controls at thedialysis machine can also be included in the hierarchy of controls. Insome implementations, the local controls at the dialysis machine 102have the highest priority over all remote controls from client devices.

While the proxies generated by the server 104 have been described asports used by the server 104, the proxies can also each be separateproxy server devices. Thus, a dialysis machine can connect to a separateproxy server, which in turn can connect to the server 104.

While the server 104 and the client device 108 have been described asseparate computing devices, the client device 108 and the server 104 canalso be the same computing device. Thus, the server 104 can provide thefunctions of the client device 108 to a remote user at the server 104.

While the access control on the server 104 has been described as using alogin/password combination, various access control methods can be used.For example, the server 104 can maintain a list of specific clientdevices (e.g., using IP addresses and/or MAC addresses) that areauthorized to access specific dialysis machines. The server 104 can alsorequire a login/password combination, such that only authorized userscan access specific dialysis machines from the specific client devices.For example, the client devices allowed access can be restricted tothose in a specific hospital. Users can be required to log in to accessdialysis machines located in patients' homes, with different logincredentials required for different dialysis machines.

While the server 104 has been described as a single computing device,the server 104 can also be a server system including multiple computingdevices.

While only one controller is described on the dialysis machine 102,multiple controllers may alternatively be used.

While the user input device has been described as a keypad 206, the userinput device can also include a keyboard, a trackpad, and other devicesthrough which a user can provide input to the dialysis machine 102.

While the client device 108 has been depicted as a computer, the clientdevice can be any computing device that can connect to a network,including, for example, mobile phones, tablet computers, laptops,netbooks, and smartphones.

While FIG. 3 shows an example screen shot of the display 204 of thedialysis machine 102, the display 204 can also show video transmitted toand from the client device.

While the dialysis machine has been described to optionally include anIP phone, the dialysis machine can be configured to include a microphoneand voice data transmission capability.

Implementations of the subject matter and the operations described inthis specification can be implemented in digital electronic circuitry,or in computer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Implementations of the subjectmatter described in this specification can be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on computer storage medium for execution by, or tocontrol the operation of, data processing apparatus. Alternatively or inaddition, the program instructions can be encoded on an artificiallygenerated propagated signal, for example, a machine-generatedelectrical, optical, or electromagnetic signal, that is generated toencode information for transmission to suitable receiver apparatus forexecution by a data processing apparatus. A computer storage medium canbe, or be included in, a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of them. Moreover,while a computer storage medium is not a propagated signal, a computerstorage medium can be a source or destination of computer programinstructions encoded in an artificially generated propagated signal. Thecomputer storage medium can also be, or be included in, one or moreseparate physical components or media (for example, multiple CDs, disks,or other storage devices).

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “data processing apparatus” encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, for example, an FPGA (fieldprogrammable gate array) or an ASIC (application specific integratedcircuit). The apparatus can also include, in addition to hardware, codethat creates an execution environment for the computer program inquestion, for example, code that constitutes processor firmware, aprotocol stack, a database management system, an operating system, across-platform runtime environment, a virtual machine, or a combinationof one or more of them. The apparatus and execution environment canrealize various different computing model infrastructures, such as webservices, distributed computing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astandalone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (for example, one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (for example, files that store one or moremodules, sub programs, or portions of code). A computer program can bedeployed to be executed on one computer or on multiple computers thatare located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, for example, an FPGA (field programmable gate array) or anASIC (application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, for example, magnetic, magneto optical disks, or opticaldisks. However, a computer need not have such devices. Moreover, acomputer can be embedded in another device, for example, a mobiletelephone, a personal digital assistant (PDA), a mobile audio or videoplayer, a game console, a Global Positioning System (GPS) receiver, or aportable storage device (for example, a universal serial bus (USB) flashdrive), to name just a few. Devices suitable for storing computerprogram instructions and data include all forms of nonvolatile memory,media and memory devices, including by way of example semiconductormemory devices, for example, EPROM, EEPROM, and flash memory devices;magnetic disks, for example, internal hard disks or removable disks;magneto optical disks; and CD ROM and DVD-ROM disks. The processor andthe memory can be supplemented by, or incorporated in, special purposelogic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a displaydevice (e.g., the display device of the dialysis machine 102), forexample, a CRT (cathode ray tube) or LCD (liquid crystal display)monitor, for displaying information to the user and a keyboard or keypadand/or a pointing device, for example, a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, forexample, visual feedback, auditory feedback, or tactile feedback; andinput from the user can be received in any form, including acoustic,speech, or tactile input.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anydisclosures or of what may be claimed, but rather as descriptions offeatures specific to particular implementations of particulardisclosures. Certain features that are described in this specificationin the context of separate implementations can also be implemented incombination in a single implementation. Conversely, various featuresthat are described in the context of a single implementation can also beimplemented in multiple implementations separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

What is claimed is:
 1. A system comprising: a network device located ina home of a patient; a dialysis machine configured to connect to thenetwork device over a network; and a mobile device configured to connectto the network device over the network, wherein the network device isconfigured for: receiving, from the mobile device, through the network,first video data obtained by a camera of the mobile device; providing,to the dialysis machine, through the network, the first video data forgenerating video on a display of the dialysis machine; receiving, fromthe dialysis machine, through the network, second video data obtained bya camera of the dialysis machine; and providing, to the mobile device,through the network, the second video data for generating video on adisplay of the mobile device.
 2. The system of claim 1, wherein thedialysis machine is located in the home of the patient.
 3. The system ofclaim 1, wherein the mobile device is located in the home of thepatient.
 4. The system of claim 1, wherein the dialysis machine and themobile device are located in the home of the patient.
 5. The system ofclaim 1, wherein the mobile device is one or more of a mobile phone, atablet computer, a laptop, a netbook, or a smartphone.
 6. The system ofclaim 1, wherein the display of the mobile device is configured topresent information that corresponds to information presented on thedisplay of the dialysis machine.
 7. The system of claim 6, wherein thedisplay of the mobile device is configured to present material that isalso presented on the display of the dialysis machine.
 8. The system ofclaim 6, wherein the display of the mobile device is configured topresent controls for controlling the dialysis machine.
 9. The system ofclaim 1, wherein the network device is further configured for:receiving, from the mobile device, through the network, instructions forthe dialysis machine; and providing, to the dialysis machine, throughthe network, the received instructions.
 10. The system of claim 9,wherein at least some of the instructions for the dialysis machinecomprise one or more of initiating a dialysis treatment and pausing adialysis treatment.
 11. The system of claim 9, wherein at least some ofthe instructions for the dialysis machine are for setting one or moretreatment parameters for a dialysis treatment.
 12. The system of claim1, wherein the network device is a proxy server.
 13. The system of claim1, wherein the network is a wireless network.
 14. A method performed byone or more data processors, the method comprising: receiving, by anetwork device located in a home of a patient, from a mobile device,over a network, first video data obtained by a camera of the mobiledevice; providing, by the network device, to a dialysis machine, throughthe network, the first video data for generating video on a display ofthe dialysis machine; receiving, by the network device, from thedialysis machine, through the network, second video data obtained by acamera of the dialysis machine; and providing, by the network device, tothe mobile device, through the network, the second video data forgenerating video on a display of the mobile device.
 15. The method ofclaim 14, wherein the network device includes the one or more dataprocessors, and the dialysis machine and the mobile device areconfigured to connect to the network device over the network.
 16. Themethod of claim 14, wherein the dialysis machine is located in the homeof the patient.
 17. The method of claim 14, wherein the mobile device islocated in the home of the patient.
 18. The method of claim 14, whereinthe dialysis machine and the mobile device are located in the home ofthe patient.
 19. The method of claim 14, wherein the network device is aproxy server.
 20. The method of claim 14, wherein the network is awireless network.